/*************************************************************************
                           Point2D  -  description
                             -------------------
    début                : 21 févr. 2012
    copyright            : (C) 2012 par francois
*************************************************************************/

//---------- Réalisation de la classe <Point2D> (fichier Point2D.cpp) -------

//---------------------------------------------------------------- INCLUDE

//-------------------------------------------------------- Include système
using namespace std;
#include <iostream>

//------------------------------------------------------ Include personnel
#include "Cercle.h"
#include "Vector2D.h"

namespace livgeo {

//------------------------------------------------------------- Constantes

//----------------------------------------------------------------- PUBLIC

//----------------------------------------------------- Méthodes publiques
void Cercle::createBoundingBox(Point2D& botLeft, Point2D& topRight)
{
	Vector2D vect(radius, radius);

	botLeft = (center - vect);
	topRight = (center + vect);
}

bool Cercle::contains(const Point2D& p)
{
	float tmp = (p - center).norm1();
	return tmp <= radius*radius;
//	return (p - center).norm1() <= radius*radius;
}
//------------------------------------------------- Surcharge d'opérateurs


//-------------------------------------------- Constructeurs - destructeur
Cercle::Cercle ( const Point2D& c, unsigned int r) : center(c), radius(r)
{

}

Cercle::~Cercle ( )
{

}

//------------------------------------------------------------------ PRIVE

//----------------------------------------------------- Méthodes protégées

}; // ----- fin de livgeo
